using System;
using System.Net;
using ICIA.ARojas.Silverlight.DataService;
using Didsoft.Silverlight.ViewModel.Data;

namespace ICIA.ARojas.Visual.Especialidad.ViewModel
{
    public class VmEspecialidad : DataModelBase<ICIA.ARojas.Silverlight.Entities.Especialidad>
    {
        public Didsoft.Silverlight.Controls.Data.ViewModelBasicDataForm  ViewModelBasicDataForm { get; internal set; }

        public VmEspecialidad()
        {
            base.SetDataService(new EspecialidadDataService());
            base.GetAll();
        }

        internal void SetEventsToDataForm()
        {
            ViewModelBasicDataForm.OnEditing += ViewModelBasicDataForm_OnEditing;
            ViewModelBasicDataForm.OnDeleting += ViewModelBasicDataForm_OnDeleting;
        }

        void ViewModelBasicDataForm_OnDeleting(object sender, EventArgs e)
        {
            base.Delete();
        }

        void ViewModelBasicDataForm_OnEditing(object sender, EventArgs e)
        {            
            base.Save();
        }


        /*
         *  Atencion : El XAML y el code behind de la UI debe quedar algo parecido a esto ....
         *  
         * 
         * <UserControl x:Class="ICIA.ARojas.Visual.Especialidad.VwEspecialidad"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d"
            xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" 
            xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
            xmlns:cc="clr-namespace:Didsoft.Silverlight.Controls.Data;assembly=Didsoft.Silverlight.Controls.Data"
            xmlns:controlsToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit"  
            MinHeight="200" MinWidth="200">

            <Grid>
                <controlsToolkit:BusyIndicator
                    IsBusy="{Binding IsBusy}" 
                    Foreground="Black"
                    BusyContent="Procesando Datos......">
                    <cc:BasicDataForm Name="BDF" AutoGenerateColumns="True" AutoGenerateFields="True"></cc:BasicDataForm>
                </controlsToolkit:BusyIndicator>       
            </Grid>
        </UserControl>
         * 
         * //esta es la clase que maneja al XAML
         * public partial class VwEspecialidad : UserControl
            {
                private VmEspecialidad viewModel;
                public VwEspecialidad()
                {
                    InitializeComponent();
                    viewModel =  new VmEspecialidad();
                    this.DataContext = viewModel;

                    viewModel.ViewModelBasicDataForm = BDF.viewmodel;
                    viewModel.SetEventsToDataForm();
                }
            }
         */
    }
}


